import axios from "axios";
import { BASE_URL, TIMEOUT } from "./config";
// 自定义axios类
class NDRequest {
    /**
     * 
     * @param {*} baseURL 基础路径
     * @param {*} timeout 超时时间
     */
    constructor(baseURL, timeout){
        // 创建axios实例
        this.instance = axios.create({baseURL, timeout})
        // 响应拦截器 提取请求数据内容
        this.instance.interceptors.response.use(res => {
            return res.data
        }, err => {
            throw err
        })
    }
    /**
     * 类方法request
     * @param {*} config 配置对象
     * @returns 
     */
    request(config){
        return this.instance.request(config)
    }
    /**
     * 类方法get
     * @param {*} config  配置对象 method为get
     * @returns 
     */
    get(config){
        return this.instance.request({...config, method: 'get'})
    }
    /**
     * 类方法post
     * @param {*} config  配置对象 method为post
     * @returns 
     */
    post(config){
        return this.instance.request({...config, method: 'post'})
    }

}
// 导出类实例
const Request = new NDRequest(BASE_URL, TIMEOUT)
export default Request